home *** CD-ROM | disk | FTP | other *** search
-
-
-
- history(n) Tcl Built-In Commands
-
-
-
- _________________________________________________________________
-
- NAME
- history - Manipulate the history list
-
- SYNOPSIS
- history ?_o_p_t_i_o_n? ?_a_r_g _a_r_g ...?
- _________________________________________________________________
-
-
- DESCRIPTION
- The history command performs one of several operations
- related to recently-executed commands recorded in a history
- list. Each of these recorded commands is referred to as an
- ``event''. When specifying an event to the history command,
- the following forms may be used:
-
- [1] A number: if positive, it refers to the event with
- that number (all events are numbered starting at 1).
- If the number is negative, it selects an event relative
- to the current event (-1 refers to the previous event,
- -2 to the one before that, and so on).
-
- [2] A string: selects the most recent event that matches
- the string. An event is considered to match the string
- either if the string is the same as the first charac-
- ters of the event, or if the string matches the event
- in the sense of the string match command.
-
- The history command can take any of the following forms:
-
- history
- Same as history info, described below.
-
- history add _c_o_m_m_a_n_d ?exec?
- Adds the _c_o_m_m_a_n_d argument to the history list as a new
- event. If exec is specified (or abbreviated) then the
- command is also executed and its result is returned.
- If exec isn't specified then an empty string is
- returned as result.
-
- history change _n_e_w_V_a_l_u_e ?_e_v_e_n_t?
- Replaces the value recorded for an event with _n_e_w_V_a_l_u_e.
- _E_v_e_n_t specifies the event to replace, and defaults to
- the _c_u_r_r_e_n_t event (not event -1). This command is
- intended for use in commands that implement new forms
- of history substitution and wish to replace the current
- event (which invokes the substitution) with the command
- created through substitution. The return value is an
- empty string.
-
- history event ?_e_v_e_n_t?
-
-
-
- Tcl 1
-
-
-
-
-
-
- history(n) Tcl Built-In Commands
-
-
-
- Returns the value of the event given by _e_v_e_n_t. _E_v_e_n_t
- defaults to -1. This command causes history revision
- to occur: see below for details.
-
- history info ?_c_o_u_n_t?
- Returns a formatted string (intended for humans to
- read) giving the event number and contents for each of
- the events in the history list except the current
- event. If _c_o_u_n_t is specified then only the most recent
- _c_o_u_n_t events are returned.
-
- history keep _c_o_u_n_t
- This command may be used to change the size of the his-
- tory list to _c_o_u_n_t events. Initially, 20 events are
- retained in the history list. This command returns an
- empty string.
-
- history nextid
- Returns the number of the next event to be recorded in
- the history list. It is useful for things like print-
- ing the event number in command-line prompts.
-
- history redo ?_e_v_e_n_t?
- Re-executes the command indicated by _e_v_e_n_t and return
- its result. _E_v_e_n_t defaults to -1. This command
- results in history revision: see below for details.
-
- history substitute _o_l_d _n_e_w ?_e_v_e_n_t?
- Retrieves the command given by _e_v_e_n_t (-1 by default),
- replace any occurrences of _o_l_d by _n_e_w in the command
- (only simple character equality is supported; no wild
- cards), execute the resulting command, and return the
- result of that execution. This command results in his-
- tory revision: see below for details.
-
- history words _s_e_l_e_c_t_o_r ?_e_v_e_n_t?
- Retrieves from the command given by _e_v_e_n_t (-1 by
- default) the words given by _s_e_l_e_c_t_o_r, and return those
- words in a string separated by spaces. The selector
- argument has three forms. If it is a single number
- then it selects the word given by that number (0 for
- the command name, 1 for its first argument, and so on).
- If it consists of two numbers separated by a dash, then
- it selects all the arguments between those two. Other-
- wise selector is treated as a pattern; all words match-
- ing that pattern (in the sense of string match) are
- returned. In the numeric forms $ may be used to select
- the last word of a command. For example, suppose the
- most recent command in the history list is
-
- format {%s is %d years old} Alice [expr $ageInMonths/12]
-
- Below are some history commands and the results they
-
-
-
- Tcl 2
-
-
-
-
-
- history(n) Tcl Built-In Commands
-
-
-
- would produce:
-
-
- history words $ [expr $ageInMonths/12]
- history words 1-2{%s is %d years old} Alice
- history words *a*o*{%s is %d years old} [expr $ageInMonths/12]
-
- History words results in history revision: see below
- for details.
-
- HISTORY REVISION
- The history options event, redo, substitute, and words
- result in ``history revision''. When one of these options
- is invoked then the current event is modified to eliminate
- the history command and replace it with the result of the
- history command. For example, suppose that the most recent
- command in the history list is
-
- set a [expr $b+2]
- and suppose that the next command invoked is one of the ones
- on the left side of the table below. The command actually
- recorded in the history event will be the corresponding one
- on the right side of the table.
-
-
- history redo set a [expr $b+2]
- history s a b set b [expr $b+2]
- set c [history w 2]set c [expr $b+2]
-
- History revision is needed because event specifiers like -1
- are only valid at a particular time: once more events have
- been added to the history list a different event specifier
- would be needed. History revision occurs even when history
- is invoked indirectly from the current event (e.g. a user
- types a command that invokes a Tcl procedure that invokes
- history): the top-level command whose execution eventually
- resulted in a history command is replaced. If you wish to
- invoke commands like history words without history revision,
- you can use history event to save the current history event
- and then use history change to restore it later.
-
-
- KEYWORDS
- event, history, record, revision
-
-
-
-
-
-
-
-
-
-
-
- Tcl 3
-
-
-
-